import { createRouter, createWebHashHistory } from "vue-router";

// 1. 定义路由组件.
// 也可以从其他文件导入
import ShuDong from '../views/ShuDong.vue';
import UserInfo from '../views/UserInfo.vue';
import Post from '../views/Post.vue';
import SignUp from '../views/Signup.vue';
import Login from '../views/Login.vue';
import Search from '../views/Search.vue';
import FindPass from '../views/FindPass.vue'


// 2. 定义一些路由
// 每个路由都需要映射到一个组件。
// 我们后面再讨论嵌套路由。
const routes = [
    {
        path: '/',
        component: ShuDong,
        meta: { isLogin: true }
    },
    {
        path: '/post',
        component: Post,
        meta: { isLogin: true }
    },
    {
        path: '/userinfo',
        component: UserInfo,
        meta: { isLogin: true }
    },
    {
        path: '/signup',
        component: SignUp,
        meta: { isLogin: false }
    },
    {
        path: '/login',
        component: Login,
        meta: { isLogin: false }
    },
    {
        path: '/findpass',
        component: FindPass,
        meta: { isLogin: false }
    },
    {
        path: '/t/:tag',
        component: ShuDong,
        props: true,
        meta: { isLogin: true }
    },
    {
        path: '/search',
        component: Search,
        props: route => (
            {
                key: route.query.key,
                tags: route.query.tags,
                orderby: route.query.orderby,
                page: route.query.page,
                page_size: route.query.page_size
            }),
        meta: { isLogin: true }
    },
]

// 3. 创建路由实例并传递 `routes` 配置
// 你可以在这里输入更多的配置，但我们在这里
// 暂时保持简单
const router = createRouter({
    // 4. 内部提供了 history 模式的实现。为了简单起见，我们在这里使用 hash 模式。
    history: createWebHashHistory(),
    routes, // `routes: routes` 的缩写
})

export default router
